package com.zg.scf.feign;

import com.zg.common.core.R;
import com.zg.message.api.domain.req.MsgInfoAddReq;
import com.zg.third.api.domain.req.ZtQccEnReq;
import com.zg.third.api.domain.vo.*;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import javax.validation.Valid;
import java.util.List;

@FeignClient(name = "zg-third")
public interface ThirdFeign {


    @ApiOperation("通过企查查查询企业信息")
    @PostMapping("/un/qcc/getByCreditCode")
    ZtQccEnterpriseInfoVo getByCreditCode(@RequestBody @Valid ZtQccEnReq req);


    @ApiOperation("行政处罚核查")
    @GetMapping("/un/qcc/adminPenaltyCheck")
    Integer adminPenaltyCheck(@RequestParam("keyword") String keyword);

    @ApiOperation("立案信息核查")
    @GetMapping("/un/qcc/caseFilingCheck")
    Integer caseFilingCheck(@RequestParam("keyword") String keyword);

    @ApiOperation("软件著作权查询")
    @GetMapping("/un/qcc/copyRight")
    Integer copyRight(@RequestParam("keyword") String keyword);

    @ApiOperation("开庭公告核查")
    @GetMapping("/un/qcc/courtAnnoCheck")
    Integer courtAnnoCheck(@RequestParam("keyword") String keyword);

    @ApiOperation("客户查询")
    @GetMapping("/un/qcc/customer")
    Integer customer(@RequestParam("keyword") String keyword);

    @ApiOperation("惩戒名单核查")
    @GetMapping("/un/qcc/disciplinaryCheck")
    Integer disciplinaryCheck(@RequestParam("keyword") String keyword);

    @ApiOperation("终本案件核查")
    @GetMapping("/un/qcc/endExecuteCaseCheck")
    Integer endExecuteCaseCheck(@RequestParam("keyword") String keyword);

    @ApiOperation("环保处罚核查")
    @GetMapping("/un/qcc/enterpriseInfo")
    Integer envPunishmentCheck(@RequestParam("keyword") String keyword);

    @ApiOperation("上市企业")
    @GetMapping("/un/qcc/ipo")
    QccIpoVo ipo(@RequestParam("keyword") String keyword);

    @ApiOperation("司法拍卖核查")
    @GetMapping("/un/qcc/ipo")
    Integer judicialSaleCheck(@RequestParam("keyword") String keyword);

    @ApiOperation("客户身份识别")
    @GetMapping("/un/qcc/kyc")
    R<QccKycVo> kyc(@RequestParam("keyword") String keyword);

    @ApiOperation("国有土地受让核查")
    @GetMapping("/un/qcc/landMergeCheck")
    Integer landMergeCheck(@RequestParam("keyword") String keyword);

    @ApiOperation("专利查询")
    @GetMapping("/un/qcc/enterpriseInfo")
    Integer patent(@RequestParam("keyword") String keyword);

    @ApiOperation("公示催告核查")
    @GetMapping("/un/qcc/publishNoticeCheck")
    Integer publishNoticeCheck(@RequestParam("keyword") String keyword);

    @ApiOperation("严重违法核查")
    @GetMapping("/un/qcc/seriousIllegalCheck")
    QccSeriousIllegalCheckVo seriousIllegalCheck(@RequestParam("keyword") String keyword);

    @ApiOperation("供应商查询")
    @GetMapping("/un/qcc/supplier")
    Integer supplier(@RequestParam("keyword") String keyword);



    @ApiOperation("税务信用")
    @GetMapping("/un/qcc/taxCredit")
    List<QccTaxCreditVo> taxCredit(@RequestParam("keyword") String keyword);
}
